package com.ucl.dao.flowsearch;

import com.ucl.model.request.flowsearch.FSBaseQueryPara;
import com.ucl.model.request.flowsearch.FlowRequestOptionsQueryPara;
import com.ucl.model.request.flowsearch.flowDataUpdateRequest;
import com.ucl.model.vo.flowsearch.FSBaseVO;

import java.util.List;

public interface FSBaseDao {

    List<String> selectCountryList();

    List<String> selectSupplierList();

    List<String> selectRegionList();

    List<String> selectPeriodList();

    List<String> selectCategoryOptions(FlowRequestOptionsQueryPara filter);
    List<String> selectSupplierOptions(FlowRequestOptionsQueryPara filter);
    List<String> selectCountryOptions(FlowRequestOptionsQueryPara filter);
    List<String> selectRegionOptions(FlowRequestOptionsQueryPara filter);
    List<String> selectPeriodOptions(FlowRequestOptionsQueryPara filter);

    <T extends FSBaseVO> List<T> getList(FSBaseQueryPara filter);

    int flowDataUpdate(flowDataUpdateRequest filter);

    int flowDataDelete(flowDataUpdateRequest filter);

    void updateFlowInfo(FSBaseVO fsBaseVO);
}
